
import { defineStore } from 'pinia';

// 优惠券类型接口（和你页面中的一致，统一维护）
export interface Coupon {
  id: string;
  image: string;
  title: string;
  amount: string | number;
  validTime: string;
  scope: string;
  images: string;
}

// 定义 Store（id 唯一，小程序中用于全局标识）
export const useCouponStore = defineStore('coupon', {
  // 状态：存储可使用优惠券列表
  state: () => ({
    usableCoupons: [] as Coupon[], // 初始为空数组
  }),
  // 方法：更新优惠券数据
  actions: {
    // 同步可使用优惠券列表
    setUsableCoupons(coupons: Coupon[]) {
      this.usableCoupons = coupons;
    },
    // 可选：添加单张优惠券（后续扩展用）
    addCoupon(coupon: Coupon) {
      this.usableCoupons.push(coupon);
    },
    // 可选：删除优惠券（使用后移除）
    removeCoupon(id: string) {
      this.usableCoupons = this.usableCoupons.filter(item => item.id !== id);
    },
  },
  // 计算属性：获取可使用优惠券数量（供个人中心使用）
  getters: {
    usableCouponCount(): number {
      return this.usableCoupons.length;
    },
  },
});